const express=require("express")
const app=express();
const path=require("path");
const { nextTick } = require("process");
//处理body请求体的中间件
app.use(express.urlencoded())
app.use(express.json())
//手写处理boy请求的中间件
// app.use((req,res,next)=>{
//     console.log(req);
//     let dataStr=""
//     req.on("data",(chunk)=>{
//         console.log(chunk.toString());//user=laoli&pass=123
//         dataStr+=chunk.toString()
//     })
//     req.on("end",()=>{
//         console.log("ok",dataStr);
        //dataStr.split("&")//["name=laoli","age"=123]
        //写法1
        //const o={};
        //dataStr.split("&").forEach(item=>{
            //const [key,value]=item.split("=")//["name","laoli"]
            //o[key]=value;
        //})
      //  console.log(o,"oooooo");
      //写法2
    //   const data=dataStr.split("&").reduce((prev,current)=>{
    //     const[key,value]=current.split("=");
    //     prev[key]=value;
    //     return prev;
    //   },{})
    //   console.log(data,"data");
      //再中间件中,得到请求体body的值并处理为一个对象 添加给req的body属性上
      //req.body=data;
      //next()

        
//     })
// })
//req.body=123
//next()
//查询学生信息接口
app.get("/user",(req,res)=>{
    //console.log(req.query);
    const{
        userId
    }=req.query;
    //如果查询失败
    if(userId !=="001"){
        return res.send({
            code:10001,
            msg:"查询失败",
            data:null
        })
    }
    //查询成功 响应
    res.send({
        code:10000,
        msg:"查询成功",
        data: {
            name:"li",
            age:18,
            sex:"男"
        }
    })
})
app.get("/userInfo/:userId",(req,res)=>{
    //console.log(req.params);
    const{
        userId
    }=req.params;

    //如果查询失败
    if(userId!=="001"){
        return res.send({
            code:10001,
            msg:"查询失败",
            data:null
        })
    }
    //查询成功 响应
    res.send({
        code:10000,
        msg:"查询成功",
        data:{
            name:"李博",
            age:18,
            sex:"男"

        }
    })
})
app.post("/adduser",(req,res)=>{
    console.log("adduser");
    console.log(req.body,"req.body");
    console.log(req.query,"req.query");
    const{
        name,
        age,
        sex
    }=req.body;
    if(!name||!age||!sex){
        return res.send({
            code:10001,
            mes:"添加失败",
            data:null
        })
    }
    res.send({
        code:10000,
        mes:"添加成功",
        data:null
    })
})

//静态资源部署接口
app.get("/1",(req,res)=>{
    const filePath=path.resolve(__dirname,"./02.基础的get请求.html");
    res.sendFile(filePath);

})
    app.get("/2",(req,res)=>{
        const filePath=path.resolve(__dirname,"./04.get请求.html");
        res.sendFile(filePath);
    })
    app.get("/3",(req,res)=>{
        const filePath=path.resolve(__dirname,"./05.get请求-path传参方式.html");
        res.sendFile(filePath);
    })
    app.get("/4",(req,res)=>{
        const filePath=path.resolve(__dirname,"./06.post请求.html");
        res.sendFile(filePath);
    })
    app.listen(3000,()=>{
        console.log("服务器请求成功 请访问http://127.0.0.1:3000");
    })
    